// var n;
// exports.AL_Framework_Listen_Node = void 0;
// var r = cc._decorator;
// var c = r.ccclass;
// var l =
//     (r.property,
//     (function (e) {
//         function t() {
//             return (null !== e && e.apply(this, arguments)) || this;
//         }
//         __extends(t, e);
//         t.prototype.setEvent = function (e) {
//             this.events = e;
//         };
//         t.prototype.onLoad = function () {
//             if (this.events && this.events.onLoad) {
//                 this.events.onLoad();
//             }
//         };
//         t.prototype.onEnable = function () {
//             if (this.events && this.events.onEnable) {
//                 this.events.onEnable();
//             }
//         };
//         t.prototype.onDisable = function () {
//             if (this.events && this.events.onDisable) {
//                 this.events.onDisable();
//             }
//         };
//         t.prototype.onDestroy = function () {
//             if (this.events && this.events.onDestroy) {
//                 this.events.onDestroy();
//             }
//         };
//         return __decorate([c], t);
//     })(cc.Component));
// exports.AL_Framework_Listen_Node = l;


// cc._decorator 的别名，用于装饰器使用
const { ccclass, property } = cc._decorator;

/**
 * ListenNode类
 * 用于管理事件监听，继承自cc.Component
 */
@ccclass
class AL_Framework_Listen_Node extends cc.Component {
    /**
     * 事件对象
     * @type {Object}
     */
    events = null;

    /**
     * 设置事件对象
     * @param {Object} events - 包含回调函数的事件对象
     */
    setEvent(events) {
        this.events = events;
    }

    /**
     * 组件加载时调用的方法
     */
    onLoad() {
        if (this.events && this.events.onLoad) {
            this.events.onLoad();
        }
    }

    /**
     * 组件启用时调用的方法
     */
    onEnable() {
        if (this.events && this.events.onEnable) {
            this.events.onEnable();
        }
    }

    /**
     * 组件禁用时调用的方法
     */
    onDisable() {
        if (this.events && this.events.onDisable) {
            this.events.onDisable();
        }
    }

    /**
     * 组件销毁时调用的方法
     */
    onDestroy() {
        if (this.events && this.events.onDestroy) {
            this.events.onDestroy();
        }
    }
}

exports.AL_Framework_Listen_Node = AL_Framework_Listen_Node;
